package com.banesco.precargadepositos.interfaz.presentadores;


import com.banesco.precargadepositos.comun.excepciones.TrascendException;
import com.banesco.precargadepositos.controladores.ControladorPrecargaDepositos;
import com.banesco.precargadepositos.interfaz.contratos.IInicio;

/**
 * Presentador para la ventana de inicio
 * @author Juan Carlos Coello
 * Trascend 09/2013
 */
public class PresentadorInicio {

	private IInicio _vista;
	private ControladorPrecargaDepositos _controlador;

	/** Constructor de la clase
	 * @param vista , objeto que posee las propiedades de la vista
	 */
	public PresentadorInicio(IInicio vista){
		_vista = vista;
		_controlador = new ControladorPrecargaDepositos();
	}

	/**
	 * Metodo que se invoca al momento de aceptar el contrato y actualiza el estado del mismo
	 * @return true si es exitosa la transaccion
	 */
	public boolean aceptarContrato() {
		boolean aceptarContrato = false;
		try {
			aceptarContrato = _controlador.actualizarEstadoContratoSQLite(_vista.getContext());
		}
		catch (Exception e) {
			_vista.createToast(e.getMessage());
		}
		return aceptarContrato;
	}

	/**
	 * Metodo que se invoca para crear la base de datos al momento de iniciar la aplicacion
	 */
	public void crearDataBase() {
		try {
			_controlador.crearDataBase(_vista.getContext());
		}
		catch (TrascendException e) {
			_vista.createToast(e.getMessage());
		}
	}

	/**
	 * Metodo que se invoca para saber si el contrato fue aceptado previamente
	 * @return
	 */
	public boolean contratoAceptado() {
		boolean contratoAceptado = false;
		try {
			contratoAceptado = _controlador.consultarEstadoContrato(_vista.getContext());
		}
		catch (TrascendException e) {
			_vista.createToast(e.getMessage());
		}
		return contratoAceptado;
	}

}
